This disclosure relates to transaction handling.
In an arrangement of master devices issuing transactions (such as data access transactions, for example data read or write transactions) to slave devices via an interconnect, the transaction responses can in principle be received back in any order.
In some examples, transactions need to be processed by the transaction-initiating master device in the order in which the transactions were issued. In other examples, such as in so-called AMBA (Advanced Microcontroller Bus Architecture) protocols, transactions having the same transaction identifier need to be handled in this way (that is to say, returned in the order of issue) but transactions having different identifiers can be returned in any order.
Some slave devices (which service or fulfil transactions) can maintain ordering in their responses. However an issue can arise when a set of transactions having the same identifier, and so having the requirement of their responses being returned in transaction issue order, are routed to multiple slave devices. The use of more than one slave device means that measures are needed to avoid a set of transactions having the same identifier being returned in a wrong order.